上一次有提到說,修改 commit 的方式有以下幾種:
已經介紹完 rebase 跟 reset,接下來就來講解 amend 吧!
前面所提到的 git rebase
跟 git reset
都可以隨心所欲的到你想修改的位置,但是這篇提到的 amend 就不一樣了,他只能修改最新一次的 commit!
而 amend 修改的方式也超級簡單,指令如下
git commit --amend -m "message"
因為他只能修改最新一次的 commit,所以也不需要像 git rebase
跟 git reset
一樣還要去查詢 SHA-1 碼,後續的 -m
也跟原本 commit 提交訊息時一樣。
但是,值得注意的是,原先以為這個辦法就是直接更改 commit 的 message 而已,其實不然,對 git 而言,commit 的內容不同,他就會認為這是一個新的東西,會重新產生一組 SHA-1 碼,所以你可以觀察使用 --amend
前後的差異,會發現兩次 commit 的 SHA-1 碼會不同。
以上就是修改 commit 的三種辦法,總結一下:
--mixed
、--soft
以及 --hard
,會對暫存區跟工作目錄的檔案有不同處理方式。